#include <iostream>

// 方法1：标准判断函数
bool isLeapYear(int year) {
    // 闰年规则：
    // 1. 能被4整除但不能被100整除的是闰年
    // 2. 能被400整除的是闰年
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

// 方法2：带输入验证的完整版本
bool checkLeapYear(int year) {
    if (year <= 0) {
        std::cout << "错误：年份必须为正数" << std::endl;
        return false;
    }
    return isLeapYear(year);
}

int main() {
    // 测试示例
    int testYears[] = {2000, 1900, 2020, 2021, 2024, 2100};
    int size = sizeof(testYears) / sizeof(testYears[0]);
    
    std::cout << "闰年判断结果：" << std::endl;
    for (int i = 0; i < size; i++) {
        int year = testYears[i];
        std::cout << year << "年: " 
                  << (isLeapYear(year) ? "是闰年" : "不是闰年") 
                  << std::endl;
    }
    
    // 用户输入测试
    int inputYear;
    std::cout << "\n请输入要判断的年份: ";
    std::cin >> inputYear;
    
    if (checkLeapYear(inputYear)) {
        std::cout << inputYear << "年是闰年" << std::endl;
    } else {
        std::cout << inputYear << "年不是闰年" << std::endl;
    }
    
    return 0;
}